<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			var arr = [1,2,8,9,10,3,4,7,11,23,44,5,6,86]
			// function quickSort(arr){
			//     //如果数组<=1,则直接返回
			//     if(arr.length<=1){return arr;}
			//     var pivotIndex=Math.floor(arr.length/2);
			//     //找基准，并把基准从原数组删除
			//     var pivot=arr.splice(pivotIndex,1)[0];
			//     //定义左右数组
			//     var left=[];
			//     var right=[];
			
			//     //比基准小的放在left，比基准大的放在right
			//     for(var i=0;i<arr.length;i++){
			//         if(arr[i]<=pivot){
			//             left.push(arr[i]);
			//         }
			//         else{
			//             right.push(arr[i]);
			//         }
			//     }
			//     //递归
			// 	// return quickSort(left).concat([pivot],quickSort(right));
			//     return [...quickSort(left),pivot, ...quickSort(right)]
			// }
			
			
			// function quickSort (arr) {
			// 	if (arr.length <= 1) return arr
			// 	var pivotIndex = (arr.length-1)/2
			// 	var pivot = arr.splice(pivotIndex, 1)[0]
			// 	var right = [], left = []
			// 	for (var i = 0; i < arr.length;i++) {
			// 		if (pivot<arr[i]) {
			// 			right.push(arr[i])
			// 		}  else {
			// 			left.push(arr[i])
			// 		}
			// 	}
			// 	//递归
			// 	// return quickSort(left).concat([pivot], quickSort(right))
			// 	return [...quickSort(left),pivot, ...quickSort(right)]
			// }
			
			
			// var arr = [1,2,8,9,10,3,4,7,11,23,44,5,6,86]
			
			function quickSort (arr) {
				if (arr.length <= 1) return arr
				var pivotIndex =parseInt(arr.length / 2) 
				var pivot = arr.splice(pivotIndex, 1)
				var left = [], right = []
				
				for (var i = 0; i<arr.length; i++) {
					if (pivot < arr[i]) {
						right.push(arr[i])
					} else {
						left.push(arr[i])
					}
				}
				return quickSort(left).concat(pivot, quickSort(right))
			}
			
			console.log(arr)
			console.log(quickSort(arr))
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		</script>
	</body>
</html>
